/**
 * Windows 平台功能模块
 * License: BSD
 * Authors: Lucifer (786325481@QQ.com)
 * Copyright: Copyright (C) 2008 Lucifer. All rights reserved.
 */
module platform.windows.Core;

public import core.sys.windows.windows;

alias ULONG_PTR DWORD_PTR;

struct SYSTEM_INFO
{
	union
	{
		DWORD dwOemId;
		struct
		{
			WORD wProcessorArchitecture;
			WORD wReserved;
		}
	}
	DWORD dwPageSize;
	LPVOID lpMinimumApplicationAddress;
	LPVOID lpMaximumApplicationAddress;
	DWORD_PTR dwActiveProcessorMask;
	DWORD dwNumberOfProcessors;
	DWORD dwProcessorType;
	DWORD dwAllocationGranularity;
	WORD  wProcessorLevel;
	WORD  wProcessorRevision;
}

extern(Windows) void GetSystemInfo(out SYSTEM_INFO lpSystemInfo);
extern(Windows) bool SwitchToThread();